package com.example.demo.controller;

import com.example.demo.po.Users;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.repository.query.Param;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

@RestController
@RequestMapping("/test")
public class TestController {

    @Autowired
    private UserService userService;

    @PostMapping(value = "/addUser")  //添加一个user
    public Integer addUser(@RequestBody Users users){
        try{
            userService.save(users);
        }catch(Exception e){
            System.out.println("添加user异常："+e.getMessage());
            return 0;
        }
        return 1;
    }

    // 返回某一个用户，根据用户名称 返回第一个
    @GetMapping(value = "/getUser") //通过by名称返回列表  查找名称为xx的数据列表
    public Users get_user(@RequestParam String username){
        return userService.findByUsername(username);
    }

    // 通过用户名，返回相同用户名的所有用户列表
    @GetMapping(value = "/getList")
    public List<Users> get_user_list(@RequestParam String username){
        return userService.get_by_username(username);
    }

    /*
    反回所有用户列表
     */
    @GetMapping(value = "/list")
    public List<Map> list(){
        return userService.getAllUser();
    }

    // 根据用户id，更新用户名
    @GetMapping(value = "/updateUser")
    public Integer updateUser(
            @RequestParam("id") Integer id,
            @RequestParam("username") String username){
        return userService.update_user(id,username);
    }

    @GetMapping(value = "/delUser")  //删除一个用户
    public Integer del_boy(
            @RequestParam("id") Integer id, Users users){
        // Boy b2 = (Boy) boyRespository.findById(id);
        userService.delete(users);
        return 1;
    }

}
